home *** CD-ROM | disk | FTP | other *** search
/ Day Cry / Day Cry CD.bin / oh_towns / taropyon / he386 / ccisrc / tg300me.c < prev    next >
Text File  |  1994-09-20  |  16KB  |  645 lines

  1. /*************************************************************************
  2. *    TG300 MULTI EFFECT
  3. *************************************************************************/
  4.  
  5.  
  6. /*************************************************************************
  7. *    CHORUS TYPE
  8. *-------------------------------------------------------------------------
  9. *    exTG300_chorusType(type)
  10. *        type    üc    0ü`7
  11. *************************************************************************/
  12.  
  13. int        exTG300_chorusType( char *sqr, size_t bufSiz, char *buf, int argc, char **argv )
  14. {
  15.     char    dat[32];
  16.     int        v;
  17.  
  18.     if ( argc != 1 )
  19.     {
  20. _ERR:    MM_setErrMsg(sqr,"TG300 \"CHORUS TYPE\" error!");
  21.         return(ERR);
  22.     }
  23.     v = atoi(argv[0]);
  24.     if ( v < 0 || v > 7 )
  25.         goto _ERR;
  26.     dat[0] = v;
  27.     return tg300_genMML( sqr, bufSiz, buf, 0x010000, 1, dat );
  28. }
  29.  
  30.  
  31. /*************************************************************************
  32. *    VARIATION TYPE
  33. *-------------------------------------------------------------------------
  34. *    exTG300_variationType(type)
  35. *        type    üc    0ü`25
  36. *************************************************************************/
  37.  
  38. int        exTG300_variationType( char *sqr, size_t bufSiz, char *buf, int argc, char **argv )
  39. {
  40.     char    dat[32];
  41.     int        v;
  42.  
  43.     if ( argc != 1 )
  44.     {
  45. _ERR:    MM_setErrMsg(sqr,"TG300 \"VARIATION TYPE\" error!");
  46.         return(ERR);
  47.     }
  48.     v = atoi(argv[0]);
  49.     if ( v < 0 || v > 0x19 )
  50.         goto _ERR;
  51.     dat[0] = v;
  52.     return tg300_genMML( sqr, bufSiz, buf, 0x010001, 1, dat );
  53. }
  54.  
  55.  
  56. /*************************************************************************
  57. *    Pre-VARIATION TYPE
  58. *-------------------------------------------------------------------------
  59. *    exTG300_preVariationType(type)
  60. *        type    üc    0ü`4
  61. *************************************************************************/
  62.  
  63. int        exTG300_preVariationType( char *sqr, size_t bufSiz, char *buf, int argc, char **argv )
  64. {
  65.     char    dat[32];
  66.     int        v;
  67.  
  68.     if ( argc != 1 )
  69.     {
  70. _ERR:    MM_setErrMsg(sqr,"TG300 \"Pre-VARIATION TYPE\" error!");
  71.         return(ERR);
  72.     }
  73.     v = atoi(argv[0]);
  74.     if ( v < 0 || v > 4 )
  75.         goto _ERR;
  76.     dat[0] = v;
  77.     return tg300_genMML( sqr, bufSiz, buf, 0x010002, 1, dat );
  78. }
  79.  
  80.  
  81. /*************************************************************************
  82. *    Pre-REVERB TYPE
  83. *-------------------------------------------------------------------------
  84. *    exTG300_preReverbType(type)
  85. *        type    üc    0ü`5
  86. *************************************************************************/
  87.  
  88. int        exTG300_preReverbType( char *sqr, size_t bufSiz, char *buf, int argc, char **argv )
  89. {
  90.     char    dat[32];
  91.     int        v;
  92.  
  93.     if ( argc != 1 )
  94.     {
  95. _ERR:    MM_setErrMsg(sqr,"TG300 \"Pre-REVERB TYPE\" error!");
  96.         return(ERR);
  97.     }
  98.     v = atoi(argv[0]);
  99.     if ( v < 0 || v > 5 )
  100.         goto _ERR;
  101.     dat[0] = v;
  102.     return tg300_genMML( sqr, bufSiz, buf, 0x010003, 1, dat );
  103. }
  104.  
  105. /*************************************************************************
  106. *    REVERB TYPE
  107. *-------------------------------------------------------------------------
  108. *    exTG300_reverbType(type)
  109. *        type    üc    0ü`11
  110. *************************************************************************/
  111.  
  112. int        exTG300_reverbType( char *sqr, size_t bufSiz, char *buf, int argc, char **argv )
  113. {
  114.     char    dat[32];
  115.     int        v;
  116.  
  117.     if ( argc != 1 )
  118.     {
  119. _ERR:    MM_setErrMsg(sqr,"TG300 \"REVERB TYPE\" error!");
  120.         return(ERR);
  121.     }
  122.     v = atoi(argv[0]);
  123.     if ( v < 0 || v > 0x0B )
  124.         goto _ERR;
  125.     dat[0] = v;
  126.     return tg300_genMML( sqr, bufSiz, buf, 0x010004, 1, dat );
  127. }
  128.  
  129.  
  130. /*************************************************************************
  131. *    EFFECT INPUT
  132. *-------------------------------------------------------------------------
  133. *    exTG300_effectInput(0,rev,cho,var)
  134. *-------------------------------------------------------------------------
  135. *    exTG300_effectInput(type,input)
  136. *        type    üc    1:Reverb
  137. *                    2:Chorus
  138. *                    3:Variation
  139. *        input    üc    0 ü`127
  140. *************************************************************************/
  141.  
  142. int        exTG300_effectInput( char *sqr, size_t bufSiz, char *buf, int argc, char **argv )
  143. {
  144.     char    dat[32];
  145.     size_t    adr, siz;
  146.     int        rev, cho, var;
  147.  
  148.     if ( argc < 2 )
  149.     {
  150. _ERR:    MM_setErrMsg(sqr,"TG300 \"Effect Input\" error!");
  151.         return(ERR);
  152.     }
  153.     switch ( atoi(argv[0]) )
  154.     {
  155.         case 0:
  156.             if ( argc != 4 )
  157.                 goto _ERR;
  158.             rev = atoi(argv[1]);    if ( rev < 0 || rev > 127 )        goto _ERR;
  159.             cho = atoi(argv[2]);    if ( cho < 0 || cho > 127 )        goto _ERR;
  160.             var = atoi(argv[3]);    if ( var < 0 || var > 127 )        goto _ERR;
  161.             dat[0] = rev;
  162.             dat[1] = cho;
  163.             dat[2] = var;
  164.             adr = 0x010005;
  165.             siz = 3;
  166.             break;
  167.  
  168.         case 1:
  169.             rev = atoi(argv[1]);
  170.             if ( rev < 0 || rev > 127 )
  171.                 goto _ERR;
  172.             dat[0] = rev;
  173.             adr = 0x010005;
  174.             siz = 1;
  175.             break;
  176.  
  177.         case 2:
  178.             cho = atoi(argv[1]);
  179.             if ( cho < 0 || cho > 127 )
  180.                 goto _ERR;
  181.             dat[0] = cho;
  182.             adr = 0x010006;
  183.             siz = 1;
  184.             break;
  185.  
  186.         case 3:
  187.             var = atoi(argv[1]);
  188.             if ( var < 0 || var > 127 )
  189.                 goto _ERR;
  190.             dat[0] = var;
  191.             adr = 0x010007;
  192.             siz = 1;
  193.             break;
  194.         default:
  195.             goto _ERR;
  196.     }
  197.     return tg300_genMML( sqr, bufSiz, buf, adr, siz, dat );
  198. }
  199.  
  200.  
  201. /*************************************************************************
  202. *    DRY Level
  203. *-------------------------------------------------------------------------
  204. *    exTG300_dryLevel(level)
  205. *        level    üc    0ü`127
  206. *************************************************************************/
  207.  
  208. int        exTG300_dryLevel( char *sqr, size_t bufSiz, char *buf, int argc, char **argv )
  209. {
  210.     char    dat[32];
  211.     int        v;
  212.  
  213.     if ( argc != 1 )
  214.     {
  215. _ERR:    MM_setErrMsg(sqr,"TG300 \"DRY level\" error!");
  216.         return(ERR);
  217.     }
  218.     v = atoi(argv[0]);
  219.     if ( v < 0 || v > 127 )
  220.         goto _ERR;
  221.     dat[0] = v;
  222.     return tg300_genMML( sqr, bufSiz, buf, 0x010008, 1, dat );
  223. }
  224.  
  225.  
  226. /*************************************************************************
  227. *    EFFECT RETURN
  228. *-------------------------------------------------------------------------
  229. *    exTG300_effectReturn(0,rev,cho,var)
  230. *-------------------------------------------------------------------------
  231. *    exTG300_effectReturn(type,input)
  232. *        type    üc    1:Reverb
  233. *                    2:Chorus
  234. *                    3:Variation
  235. *        input    üc    0 ü`127
  236. *************************************************************************/
  237.  
  238. int        exTG300_effectReturn( char *sqr, size_t bufSiz, char *buf, int argc, char **argv )
  239. {
  240.     char    dat[32];
  241.     size_t    adr, siz;
  242.     int        rev, cho, var;
  243.  
  244.     if ( argc < 2 )
  245.     {
  246. _ERR:    MM_setErrMsg(sqr,"TG300 \"Effect Return\" error!");
  247.         return(ERR);
  248.     }
  249.     switch ( atoi(argv[0]) )
  250.     {
  251.         case 0:
  252.             if ( argc != 4 )
  253.                 goto _ERR;
  254.             rev = atoi(argv[1]);    if ( rev < 0 || rev > 127 )        goto _ERR;
  255.             cho = atoi(argv[2]);    if ( cho < 0 || cho > 127 )        goto _ERR;
  256.             var = atoi(argv[3]);    if ( var < 0 || var > 127 )        goto _ERR;
  257.             dat[0] = rev;
  258.             dat[1] = cho;
  259.             dat[2] = var;
  260.             adr = 0x010009;
  261.             siz = 3;
  262.             break;
  263.  
  264.         case 1:
  265.             rev = atoi(argv[1]);
  266.             if ( rev < 0 || rev > 127 )
  267.                 goto _ERR;
  268.             dat[0] = rev;
  269.             adr = 0x010009;
  270.             siz = 1;
  271.             break;
  272.  
  273.         case 2:
  274.             cho = atoi(argv[1]);
  275.             if ( cho < 0 || cho > 127 )
  276.                 goto _ERR;
  277.             dat[0] = cho;
  278.             adr = 0x01000A;
  279.             siz = 1;
  280.             break;
  281.  
  282.         case 3:
  283.             var = atoi(argv[1]);
  284.             if ( var < 0 || var > 127 )
  285.                 goto _ERR;
  286.             dat[0] = var;
  287.             adr = 0x01000B;
  288.             siz =1;
  289.             break;
  290.  
  291.         default:
  292.             goto _ERR;
  293.     }
  294.     return tg300_genMML( sqr, bufSiz, buf, adr, siz, dat );
  295. }
  296.  
  297.  
  298. /*************************************************************************
  299. *    EFFECT SEND
  300. *-------------------------------------------------------------------------
  301. *    exTG300_effectSend(0,var2cho,var2rev,cho2rev)
  302. *-------------------------------------------------------------------------
  303. *    exTG300_effectReturn(type,send)
  304. *        type    üc    1:var2cho
  305. *                    2:var2rev
  306. *                    3:cho2rev
  307. *        send    üc    0 ü`127
  308. *************************************************************************/
  309.  
  310. int        exTG300_effectSend( char *sqr, size_t bufSiz, char *buf, int argc, char **argv )
  311. {
  312.     char    dat[32];
  313.     size_t    adr, siz;
  314.     int        var2cho, var2rev, cho2rev;
  315.  
  316.     if ( argc < 2 )
  317.     {
  318. _ERR:    MM_setErrMsg(sqr,"TG300 \"Effect Send\" error!");
  319.         return(ERR);
  320.     }
  321.     switch ( atoi(argv[0]) )
  322.     {
  323.         case 0:
  324.             if (